package com.aerozhonghuan.archive.service;

import java.util.Date;

/**
 * 紧急回迁服务接口
 */
public interface EmergencyRollbackService {

    /**
     * 根据指定配置ID执行紧急回迁操作，将归档库中的数据按照时间范围回迁至源库。
     *
     * @param configId  迁移配置记录ID
     * @param startTime 用户指定的回迁起始时间
     * @param endTime   用户指定的回迁结束时间
     * @param batchSize 每批次处理的记录数
     * @return 回迁操作的汇总信息字符串
     */
    String executeEmergencyRollbackByConfigId(Long configId, Date startTime, Date endTime, int batchSize);

    /**
     * 验证回迁后的数据一致性
     *
     * @param configId  迁移配置记录ID
     * @param startTime 用户指定的回迁起始时间
     * @param endTime   用户指定的回迁结束时间
     * @return 验证结果字符串
     */
    String verifyConsistencyAfterRollback(Long configId, Date startTime, Date endTime);


}
